use std::collections::HashMap;

fn main() {
    println!("Hello, world!");
    // 文档中的示例
    let mut scores = HashMap::new();
    scores.insert(String::from("Blue"), 10);
    println!("{:?}", scores);

    // key是str，不允许。key是保存在堆上的，所以不允许直接用为key。
    // scores.insert("Red", 25);
    //
    // 默认key是String，value是i32类型。
    let field_name = String::from("Favorite color");
    let field_value = String::from("Blue");

    let mut m = HashMap::new();
    m.insert(field_name, field_value);
    // field_name和value不再有效，被m借走了。
    // println!("name: {}", field_name);

    let v = String::from("Favorite color");
    let color = m.get(&v);
    println!("{:?}", color);
    m.insert(String::from("color2"), String::from("Red"));
    for (k, v) in &m {
        println!("key: '{}', value: {}", k, v);
    }

    // 其他的没有特别之处，不再介绍了。

}
